package com.yuqih.common.dao;

import java.util.List;

import com.yuqih.common.dto.PageMetadata;

public interface IBaseDao<T, K ,C> {
	
	int insert(T entity);
	
	int insertBatch(List<T> entities);
	
	int update(T entity);
	
	int updateBatch(List<T> entities);
	
	int delete(K id);
	
	int deleteBatch(List<K> ids);
	
	T selectById(K id);
	
	List<T> selectList(C condition);
	
	List<T> selectList(C condition, PageMetadata pageMetadata);
	
	int count(C condition);
	
}
